.hero-content {
    display: grid;
    gap: 16px;
}

.hero-content h1 {
    font-size: clamp(38px, 4.5vw, 58px);
    line-height: 1.04;
}

.hero-content .subtitle {
    font-size: 16px;
    color: var(--black-700);
    max-width: 72ch;
    font-family: var(--serif);
}

.hero-meta {
    margin-top: 10px;
    padding-top: 16px;
    border-top: 1px solid var(--black-400);
    display: grid;
    grid-template-columns:repeat(2, 1fr);
    gap: 12px 28px;
    font-size: 14px;
    color: var(--black-700);
}

.hero-meta strong {
    color: var(--black-1000);
    font-weight: 600
}


.hero {
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    gap: 48px;
    align-items: start;
}

.hero-visual {
    border: 1px solid var(--border-color);
    border-radius: var(--pad-big);
    background: var(--bg);
    padding: 20px;
    box-shadow: var(--shadow);
}

.hero-visual img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--pad-med);
}